package br.com.sebrae.pr.sgp.services;

import java.util.List;

import javax.ejb.Remote;

import br.com.sebrae.pr.sgp.entities.Cliente;
import br.com.sebrae.pr.sgp.util.IAutocompletable;

@Remote
public interface ClienteServiceRemote extends IAutocompletable<Cliente> {

	/**
	 * Pesquisa os usuarios utilizando os campos do {@link Cliente} parâmetro como filtros. Utiliza LIKE.
	 * 
	 * @param cliente
	 * @return
	 */
	public List<Cliente> efetuarPesquisa(final Cliente cliente);

	/**
	 * Pesquisa o {@link Cliente} com dado nmeLogin
	 * 
	 * @param nmeLogin
	 * @return
	 */
	public Cliente pesquisarPorLogin(final String nmeLogin);

	/**
	 * Salva ou atualiza determinado {@link Cliente}
	 * 
	 * @param cliente
	 * @return
	 */
	public Cliente salvarOuAtualizar(final Cliente cliente);

	/**
	 * pesquisa nome cliente para autocompletar
	 * 
	 * @param texto
	 * @return String nome
	 */
	public List<String> autoComplete(String texto);

	/**
	 * pesquisa objeto cliente para autocompletar
	 * 
	 * @param texto
	 * @return Cliente Cliente
	 */
	public List<Cliente> autoCompleteObjeto(String texto);
}
